package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 商品sku
 */
@ApiModel(value = "商品sku")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Sku implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 商品SPU id
     */
    @ApiModelProperty(value = "商品SPU id")
    private Long spuId;

    /**
     * SKU图片链接
     */
    @ApiModelProperty(value = "SKU图片链接")
    private String image;

    /**
     * 商品原价, 划线价
     */
    @ApiModelProperty(value = "商品原价, 划线价")
    private BigDecimal originalPrice;

    /**
     * 最低价格
     */
    @ApiModelProperty(value = "最低价格")
    private BigDecimal costPrice;

    /**
     * 销售价格
     */
    @ApiModelProperty(value = "销售价格")
    private BigDecimal price;

    /**
     * 当前库存
     */
    @ApiModelProperty(value = "当前库存")
    private Integer stock;

    /**
     * 销量
     */
    @ApiModelProperty(value = "销量")
    private Integer sales;

    /**
     * 库存单位
     */
    @ApiModelProperty(value = "库存单位")
    private String stockUnit;

    /**
     * 规格名称@符拼接
     */
    @ApiModelProperty(value = "规格名称@符拼接")
    private String specNames;

    /**
     * 规格值@符拼接
     */
    @ApiModelProperty(value = "规格值@符拼接")
    private String specValues;

    /**
     * 拓展属性JSON
     */
    @ApiModelProperty(value = "拓展属性JSON")
    private String feature;

    /**
     * 上下架 0 上架 1 下架（隐藏）
     */
    @ApiModelProperty(value = "上下架 0 上架 1 下架（隐藏）")
    private Byte hidden;

    /**
     * 排序降序
     */
    @ApiModelProperty(value = "排序降序")
    private Integer sorts;

    /**
     * 删除 0 未删除 1 已删除
     */
    @ApiModelProperty(value = "删除 0 未删除 1 已删除")
    private Byte deleted;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 冻结库存
     */
    @ApiModelProperty(value = "冻结库存")
    private Integer freezeStock;

    /**
     * 长mm
     */
    @ApiModelProperty(value = "长mm")
    private Integer length;

    /**
     * 宽mm
     */
    @ApiModelProperty(value = "宽mm")
    private Integer width;

    /**
     * 高mm
     */
    @ApiModelProperty(value = "高mm")
    private Integer height;

    /**
     * 重量kg
     */
    @ApiModelProperty(value = "重量kg")
    private BigDecimal weight;

    /**
     * 是否为默认sku 0 不是 1 是
     */
    @ApiModelProperty(value = "是否为默认sku 0 不是 1 是")
    private Byte isDefault;

    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    private Long tenantId;

    /**
     * SPU商品类型
     */
    @ApiModelProperty(value = "SPU商品类型")
    private Byte type;

    /**
     * 修改供货价
     */
    @ApiModelProperty(value = "修改供货价")
    private BigDecimal changePrice;

    /**
     * 小店价格
     */
    @ApiModelProperty(value = "小店价格")
    private BigDecimal partnerPrice;

    /**
     * sku会员价
     */
    @ApiModelProperty(value = "会员价")
    private BigDecimal vipPrice;

    private String spuName;

    /**
     * 分享赚可得佣金
     */
    private BigDecimal commissionScale = BigDecimal.ZERO;
    /**
     * 分享赚可得嗨币
     */
    private BigDecimal hiCoinScale = BigDecimal.ZERO;
    /**
     * 分享赚活动序号
     */
    private long shareActivityId;
    /**
     * 消费金首次打折金额
     */
    private BigDecimal lowDiscount = BigDecimal.ZERO;
    /**
     * 消费金后续打折金额
     */
    private BigDecimal highDiscount = BigDecimal.ZERO;
    /**
     * 折扣价
     */
    private BigDecimal discountPrice = BigDecimal.ZERO;
    //代理价格
    @ApiModelProperty(value = "代理价格")
    BigDecimal agency_price;
    //达人价格
    @ApiModelProperty(value = "达人价格")
    BigDecimal intelligent_price;
    //厂家价格
    @ApiModelProperty(value = "厂家价格")
    BigDecimal manufacturers_price;
    private static final long serialVersionUID = 1L;
}